package com.deliccio.dao.impl;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceUnit;
import javax.persistence.Query;

import org.springframework.stereotype.Repository;

import com.deliccio.dao.ProductoPorSucursalDAO;
import com.deliccio.dao.UsuarioPorSucursalDAO;
import com.deliccio.entitys.ProductoPorSucursal;
import com.deliccio.entitys.ProductoPorSucursalPK;
import com.deliccio.entitys.Sucursales;
import com.deliccio.entitys.Usuario;

@Repository("UsuarioPorSucursalDAO")
public class UsuarioPorSucursalDAOImpl implements UsuarioPorSucursalDAO{
	
	
	protected EntityManager em;
	private EntityManagerFactory emf;
	
	@PersistenceUnit
	public void setEntityManagerFactory(EntityManagerFactory emf){
		this.emf=emf;
	}
	
	@PersistenceContext
	public void setEm(EntityManager em){
		this.em=em;
	}
	
	@Override
	public int getSucursal(Usuario usuario) {		
		System.out.println(" usuario.getId(): "+usuario.getId());		
		String query=	"select us.sucursale.id " +
						"from UsuarioPorSucursal us " +
						"where us.usuario.id = :idusuario ";
		Query q=em.createQuery(query);
		q.setParameter("idusuario",usuario.getId());
		q.setMaxResults(1);		
		Integer inte = (Integer) q.getSingleResult();	
		System.out.println(" inte: "+inte);		
		return  inte;
	}
	
	@Override
	public Sucursales getSucursalPorUsuaro(Usuario usuario) {		
		System.out.println(" usuario.getId(): "+usuario.getId());		
		String query=	"select us.sucursale " +
						"from UsuarioPorSucursal us " +
						"where us.usuario.id = :idusuario ";
		Query q=em.createQuery(query);
		q.setParameter("idusuario",usuario.getId());
		q.setMaxResults(1);		
		Sucursales sucursal = (Sucursales) q.getSingleResult();	
		System.out.println(" sucursal: "+sucursal);		
		return  sucursal;
	}
	
	
	
}
